-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Only load versioned libcufile
#548
Only load versioned libcufile
#548
Conversation
@gigony could you please review? |
ebfbe08
to
c3f3f7d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes look aligned with those in KvikIO and cuDF. 👍
5b480ea
to
ddb0e6b
Compare
Also include workaround for CUDA 11 packaging missing the SOVERSION library in some cases.
ddb0e6b
to
bc322c8
Compare
Co-authored-by: Bradley Dice <bdice@bradleydice.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, thanks for handling this @jakirkham and @bdice
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @jakirkham . Looks great to me! Thank you for adding this!
Am seeing some test failures due to FAILED src/cucim/skimage/registration/tests/test_phase_cross_correlation.py::test_disambiguate_2d[100-100] - AssertionError:
Items are not equal:
ACTUAL: 2
DESIRED: 3
FAILED src/cucim/skimage/registration/tests/test_phase_cross_correlation.py::test_disambiguate_2d[100--100] - AssertionError:
Items are not equal:
ACTUAL: 2
DESIRED: 3
FAILED src/cucim/skimage/registration/tests/test_phase_cross_correlation.py::test_disambiguate_2d[100-350] - AssertionError:
Items are not equal:
ACTUAL: 2
DESIRED: 3
FAILED src/cucim/skimage/registration/tests/test_phase_cross_correlation.py::test_disambiguate_2d[100--350] - AssertionError:
Items are not equal:
ACTUAL: 2
DESIRED: 3
FAILED src/cucim/skimage/registration/tests/test_phase_cross_correlation.py::test_disambiguate_2d[-100-100] - AssertionError:
Items are not equal:
ACTUAL: 2
DESIRED: 3
FAILED src/cucim/skimage/registration/tests/test_phase_cross_correlation.py::test_disambiguate_2d[-100--100] - AssertionError:
Items are not equal:
ACTUAL: 2
DESIRED: 3
FAILED src/cucim/skimage/registration/tests/test_phase_cross_correlation.py::test_disambiguate_2d[-100-350] - AssertionError:
Items are not equal:
ACTUAL: 2
DESIRED: 3
FAILED src/cucim/skimage/registration/tests/test_phase_cross_correlation.py::test_disambiguate_2d[-100--350] - AssertionError:
Items are not equal:
ACTUAL: 2
DESIRED: 3
FAILED src/cucim/skimage/registration/tests/test_phase_cross_correlation.py::test_disambiguate_2d[350-100] - AssertionError:
Items are not equal:
ACTUAL: 2
DESIRED: 3
FAILED src/cucim/skimage/registration/tests/test_phase_cross_correlation.py::test_disambiguate_2d[350--100] - AssertionError:
Items are not equal:
ACTUAL: 2
DESIRED: 3
FAILED src/cucim/skimage/registration/tests/test_phase_cross_correlation.py::test_disambiguate_2d[350-350] - AssertionError:
Items are not equal:
ACTUAL: 2
DESIRED: 3
FAILED src/cucim/skimage/registration/tests/test_phase_cross_correlation.py::test_disambiguate_2d[350--350] - AssertionError:
Items are not equal:
ACTUAL: 2
DESIRED: 3
FAILED src/cucim/skimage/registration/tests/test_phase_cross_correlation.py::test_disambiguate_2d[-350-100] - AssertionError:
Items are not equal:
ACTUAL: 2
DESIRED: 3
FAILED src/cucim/skimage/registration/tests/test_phase_cross_correlation.py::test_disambiguate_2d[-350--100] - AssertionError:
Items are not equal:
ACTUAL: 2
DESIRED: 3
FAILED src/cucim/skimage/registration/tests/test_phase_cross_correlation.py::test_disambiguate_2d[-350-350] - AssertionError:
Items are not equal:
ACTUAL: 2
DESIRED: 3
FAILED src/cucim/skimage/registration/tests/test_phase_cross_correlation.py::test_disambiguate_2d[-350--350] - AssertionError:
Items are not equal:
ACTUAL: 2
DESIRED: 3 |
Okay, I diagnosed the CI failure and it is due to a recent change in The test will pass even with the most recent imageio if it is modified with an additional if statement guarding against the image being loaded as RGB instead of grayscale. image = cp.array(eagle()[500:, 900:]) # use a highly textured image region
# revert to grayscale if a recent imageio caused the image to be loaded as RGB
if image.ndim == 3:
image = image[..., 0] |
I was looking into this failure in #549 and can clean that up to only have a necessary fix. |
Thanks Greg! 🙏 |
/merge |
Fixes the
dlopen
logic aroundlibcufile
to load either the SOVERSION library or the fully versioned library. This includes logic to handle the missing SOVERSION library on older CUDA versions. Drops loading the stub library, which typically only shows up in development environments.Fixes #504
Borrows from PR ( rapidsai/cudf#13210 ) and PR ( rapidsai/kvikio#203 ). Also adapts this logic to cuCIM ( rapidsai/kvikio#141 )